Chromium Embedded Framework 编译

需要安装svn、git、python环境。
确保编译时调用的python是python2。

编译时会通过多种方式访问网络,需要多种方式设置代理。 
1.IE全局代理
2.环境变量:
HTTP_PROXY=http://127.0.0.1:1081
NO_AUTH_BOTO_CONFIG=C:\code\depot_tools\boto.cfg
3.命令netsh winhttp set proxy http://127.0.0.1:1081
(netsh winhttp reset重置)

C:\code\depot_tools\boto.cfg内容如下
[Boto]
proxy=http://127.0.0.1
proxy_port=1081
4.有的git版本可能不会读取环境变量,需要配置git代理
git config http.proxy http://127.0.0.1:1081

1.创建文件夹

c:\code\automate
c:\code\chromium_git

2.下载depot_tools

https://storage.googleapis.com/chrome-infra/depot_tools.zip
解压到 c:\code\depot_tools 

3.运行update_depot_tools.bat

c:\code\depot_tools\update_depot_tools.bat 

4.添加环境变量

c:\code\depot_tools 添加到PATH
DEPOT_TOOLS_WIN_TOOLCHAIN=0
GYP_MSVS_VERSION=2019

5.下载automate-git.py

https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py
下载到 c:\code\automate\automate-git.py

6.创建并运行update.bat

创建文件 c:\code\chromium_git\update.bat 
内容如下:
set GN_DEFINES=use_jumbo_build=true is_component_build=true
set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
python ..\automate\automate-git.py --download-dir=c:\code\chromium_git --depot-tools-dir=c:\code\depot_tools --no-distrib --no-build
运行update.bat
Release时is_component_build=false

7.创建并运行 create.bat

创建文件  c:\code\chromium_git\chromium\src\cef\create.bat 
内容如下:
set GN_DEFINES=use_jumbo_build=true is_component_build=true
set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
call cef_create_projects.bat
运行create.bat
Release时is_component_build=false 
需要手动在Windows10 SDK中安装Debuggers Tools For Windows这一功能。
编译时可能会出现找不到LASTCHANGE.committime这一文件,在C:\code\chromium_git\chromium\src\build\util下执行python lastchange.py -o LASTCHANGE即可。
成功后会在 c:\code\chromium_git\chromium\src\out\ 下生成项目文件。

8.使用ninja进行编译

在 c:\code\chromium_git\chromium\src 目录下
gn args out\Debug_GN_x86 可用来配置编译参数
gclient runhooks 更新编译时需要的依赖
ninja -C out\Debug_GN_x86 cef 执行编译
以下配置参数可用来启用H264视频解码功能
ffmpeg_branding="Chrome"
proprietary_codecs=true
编译时需要安装这个python包,如果没安装可能会报错
python -m pip install pywin32

gn可以使用–script-executable指定你要使用的python路径,Chrome目前编译还必须使用python2

9.打包

在 c:\code\chromium_git\chromium\src\cef\tools 目录下
make_distrib --ninja-build 执行打包
带上--minimal 可只生成Release包

10.生成 libcef_dll_wrapper.lib

在前面打包的基础上,使用CMake打开,生成cef.sln
然后使用VS打开cef.sln编译即可
Posted in CEF

6 thoughts on “Chromium Embedded Framework 编译

  1. clang在编译时,寻找msvc的include路径可能存在问题,导致找到vs2022的相关路径,导致出现编译错误。可以通过设置环境变量解决:set VCToolsInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据